package com.bean;

import lombok.Data;
import java.io.Serializable;
import java.util.Date;

/**
 * 购物车实体类，用于存储用户购物车中的书籍信息
 */
@Data
public class ShoppingCart implements Serializable {
    /**
     * 购物车项的唯一标识，数据库中自增主键
     */
    private Integer cartId;

    /**
     * 关联的用户标识，表明该购物车项属于哪个用户
     */
    private Integer userId;

    /**
     * 关联的书籍标识，表明该购物车项包含哪本书籍
     */
    private Integer bookId;

    /**
     * 用户添加到购物车的书籍数量
     */
    private Integer quantity;

    /**
     * 书籍添加到购物车的时间戳
     */
    private Date addedAt;

    /**
     * 关联的书籍对象，方便获取书籍详细信息
     */
    private Book book;

    /**
     * 计算当前购物车项的总价格
     * @return 总价格
     */
    public Double getTotalPrice() {
        if (book != null && book.getPrice() != null && quantity != null) {
            return book.getPrice() * quantity;
        }
        return 0.0;
    }
}